home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software of the Month Club 2000 October
/
Software of the Month - Ultimate Collection Shareware 277.iso
/
pc
/
PROGRAMS
/
UTILITY
/
WINLINUX
/
DATA1.CAB
/
programs_-_include
/
ASM-ARM
/
SYSTEM.H
< prev
next >
Wrap
C/C++ Source or Header
|
1999-09-17
|
2KB
|
71 lines
#ifndef __ASM_ARM_SYSTEM_H
#define __ASM_ARM_SYSTEM_H
#include <linux/config.h>
/* The type of machine we're running on */
extern unsigned int machine_type;
#define MACH_TYPE_EBSA110 0
#define MACH_TYPE_RISCPC 1
#define MACH_TYPE_NEXUSPCI 3
#define MACH_TYPE_EBSA285 4
#define MACH_TYPE_NETWINDER 5
#define MACH_TYPE_CATS 6
#define MACH_TYPE_TBOX 7
#ifdef CONFIG_ARCH_EBSA285
#define machine_is_ebsa285() (1)
#else
#define machine_is_ebsa285() (0)
#endif
#ifdef CONFIG_ARCH_VNC
#define machine_is_netwinder() (1)
#else
#define machine_is_netwinder() (0)
#endif
#if defined(CONFIG_CATS)
#define machine_is_cats() (machine_type == MACH_TYPE_CATS)
#else
#define machine_is_cats() (0)
#endif
#if 0
#define machine_is_ebsa285() (machine_type == MACH_TYPE_EBSA285)
#define machine_is_netwinder() (machine_type == MACH_TYPE_NETWINDER)
#endif
#include <linux/kernel.h>
#include <asm/proc-fns.h>
extern void arm_malalignedptr(const char *, void *, volatile void *);
extern void arm_invalidptr(const char *, int);
#define xchg(ptr,x) \
((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))
#define tas(ptr) (xchg((ptr),1))
/*
* switch_to(prev, next) should switch from task `prev' to `next'
* `prev' will never be the same as `next'.
*
* `next' and `prev' should be struct task_struct, but it isn't always defined
*/
#define switch_to(prev,next) processor._switch_to(prev,next)
/*
* Include processor dependent parts
*/
#include <asm/proc/system.h>
#include <asm/arch/system.h>
#define mb() __asm__ __volatile__ ("" : : : "memory")
#define nop() __asm__ __volatile__("mov r0,r0\n\t");
extern asmlinkage void __backtrace(void);
#endif